// pages/citylist/citylist.js
const map = require('../../libs/map')
//引入qqmapWX
const QQMapWX = require('../../libs/qqmap-wx-jssdk')
const qqmapsdk = new QQMapWX({
  key:'SABBZ-FGOWW-OVARX-OJZYU-XS2YJ-YWB3X'    //申请的腾讯位置服务密钥
})
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isloced:false,
    cityname:'未选择',
    letter:'Z',
    citymap:map //将城市的完整数据存入citymap变量
  },
  tapCityItem(event){
    let city = event.target.dataset.city;
    console.log(city)
    if(city==undefined) return;
    //将选中项城市存入globalData 回到上一页即可
    getApp().globalData.cityname = city;
    wx.navigateBack()
  },
  //点击侧边栏导航后执行该方法
  tapAside(event){
    let letter = event.target.dataset.letter;
    console.log(letter)
    this.setData({letter})
  },
   /*加载当前城市名称 显示在左上角*/
   getLocation(){
    qqmapsdk.reverseGeocoder({
      success:(res)=>{
        console.log(res)
        //从结果中解析出城市名称
        let city = res.result.address_component.city
        //修改data.cityname 更新界面
        this.setData({
          cityname: city,
          isloced:true   //提示已经加载到城市名称
        })
        //将city存入globalData
        getApp().globalData.cityname=city;
      },
      fail:(err)=>{
        console.log(err)
        //提示定位失败，点击重试
        this.setData({
          cityname:'定位失败，点击重试'
        })
        if(err.status==1000){
          //弹出模态对话框 提示用户赋予权限
          wx.showModal({
            title:'提示',
            content:'小程序未获取定位权限，是否授予权限？',
            success:(res)=>{
              if(res.confirm){    //用户点了确认
                //跳转到设置页面
                wx.openSetting({
                  success:(settingRes)=>{
                    console.log(settingRes)
                    if(settingRes.authSetting['scope.userLocation']){
                      this.getLocation();   //重新定位
                    }
                  }
                })
              }

            }
          })
        }
      }
    })
  },
  /**当点击当前定位城市的text组件后执行 */
  tapLoc(){
    //如果已经获取了当前定位的位置 则存入globalData返回
    if(this.data.isloced){
      getApp().globalData.cityname = 
      this.data.cityname;
      wx.navigateBack()
    }else{
       //如果没有获取当前定位位置
      this.setData({
        cityname:'定位中...'
      })
      this.getLocation();
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(map)
    this.getLocation()   //获取定位位置
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})